/*
 * Copyright (c) 2025 Bytedance, Inc. and its affiliates.
 * SPDX-License-Identifier: Apache-2.0
 */

import { ChatCompletionChunk } from '@tarko/agent-interface';

// Extracted from code.jsonl - real streaming data for testing
export const realStreamingChunks = [
  '<',
  'think',
  '>',
  '项目',
  '目录',
  '已经',
  '创建',
  '好了',
  '，',
  '现在',
  '我',
  '需要',
  '在',
  'fib',
  'onacci',
  '目录',
  '下',
  '创建',
  '一个',
  'Python',
  '文件',
  '来',
  '实现',
  '斐',
  '波',
  '那',
  '契',
  '数列',
  '函数',
  '。',
  '我',
  '将',
  '创建',
  '一个',
  '名为',
  'fib',
  'onacci',
  '_function',
  '.py',
  '的',
  '文件',
  '，',
  '里面',
  '包含',
  '一个',
  '生成',
  '斐',
  '波',
  '那',
  '契',
  '数列',
  '的',
  '函数',
  '。',
  '这个',
  '函数',
  '应该',
  '接受',
  '一个',
  '参数',
  'n',
  '，表示',
  '要',
  '生成',
  '的',
  '数列',
  '长度',
  '。',
  '</',
  'think',
  '>',
  '\n',
  '<code',
  '_env',
  '>',
  '\n',
  '<',
  'function',
  '=str',
  '_replace',
  '_',
  'editor',
  '>',
  '\n',
  '<',
  'parameter',
  '=',
  'command',
  '>',
  'create',
  '</',
  'parameter',
  '>',
  '\n',
  '<',
  'parameter',
  '=',
  'path',
  '>/',
  'home',
  '/g',
  'em',
  '/f',
  'ib',
  'onacci',
  '/f',
  'ib',
  'onacci',
  '_function',
  '.py',
  '</',
  'parameter',
  '>',
  '\n',
  '<',
  'parameter',
  '=',
  'file',
  '_text',
  '>',
  'def',
  ' fib',
  'onacci',
  '(n',
  '):',
  '\n',
  '    ',
  ' """',
  '生成',
  '斐',
  '波',
  '那',
  '契',
  '数列',
  '的',
  '函数',
  '\n    \n',
  '    ',
  ' 参数',
  ':',
  '\n',
  '    ',
  ' n',
  ' -- ',
  ' ',
  '数列',
  '长度',
  '，',
  '即',
  '要',
  '生成',
  '的',
  '数字',
  '个数',
  '\n    \n',
  '    ',
  ' 返回',
  ':',
  '\n',
  '    ',
  ' list',
  ' -- ',
  ' ',
  '包含',
  'n',
  '个',
  '数字',
  '的',
  '斐',
  '波',
  '那',
  '契',
  '数列',
  '\n',
  '    ',
  ' """',
  '\n',
  '    ',
  ' if',
  ' n',
  ' <=',
  ' ',
  '0',
  ':',
  '\n',
  '        ',
  ' return',
  ' []',
  '\n',
  '    ',
  ' elif',
  ' n',
  ' ==',
  ' ',
  '1',
  ':',
  '\n',
  '        ',
  ' return',
  ' [',
  '0',
  ']',
  '\n',
  '    ',
  ' elif',
  ' n',
  ' ==',
  ' ',
  '2',
  ':',
  '\n',
  '        ',
  ' return',
  ' [',
  '0',
  ',',
  ' ',
  '1',
  ']',
  '\n    \n',
  '    ',
  ' #',
  ' ',
  '初始化',
  '斐',
  '波',
  '那',
  '契',
  '数列',
  '\n',
  '    ',
  ' fib',
  '_sequence',
  ' =',
  ' [',
  '0',
  ',',
  ' ',
  '1',
  ']',
  '\n    \n',
  '    ',
  ' #',
  ' ',
  '生成',
  '后续',
  '的',
  '数字',
  '\n',
  '    ',
  ' for',
  ' i',
  ' in',
  ' range',
  '(',
  '2',
  ',',
  ' n',
  '):',
  '\n',
  '        ',
  ' next',
  '_number',
  ' =',
  ' fib',
  '_sequence',
  '[i',
  '-',
  '1',
  ']',
  ' +',
  ' fib',
  '_sequence',
  '[i',
  '-',
  '2',
  ']',
  '\n',
  '        ',
  ' fib',
  '_sequence',
  '.append',
  '(next',
  '_number',
  ')',
  '\n    \n',
  '    ',
  ' return',
  ' fib',
  '_sequence',
  '\n\n',
  '#',
  ' ',
  '测试',
  '代码',
  '\n',
  'if',
  ' __',
  'name',
  '__',
  ' ==',
  ' "__',
  'main',
  '__',
  '":',
  '\n',
  '    ',
  ' #',
  ' ',
  '生成',
  '前',
  '1',
  '0',
  '个',
  '斐',
  '波',
  '那',
  '契',
  '数',
  '\n',
  '    ',
  ' result',
  ' =',
  ' fib',
  'onacci',
  '(',
  '1',
  '0',
  ')',
  '\n',
  '    ',
  ' print',
  '(f',
  '"',
  '前',
  '1',
  '0',
  '个',
  '斐',
  '波',
  '那',
  '契',
  '数',
  ':',
  ' {',
  'result',
  '}',
  '")',
  '\n    \n',
  '    ',
  ' #',
  ' ',
  '生成',
  '前',
  '2',
  '0',
  '个',
  '斐',
  '波',
  '那',
  '契',
  '数',
  '\n',
  '    ',
  ' result',
  ' =',
  ' fib',
  'onacci',
  '(',
  '2',
  '0',
  ')',
  '\n',
  '    ',
  ' print',
  '(f',
  '"',
  '前',
  '2',
  '0',
  '个',
  '斐',
  '波',
  '那',
  '契',
  '数',
  ':',
  ' {',
  'result',
  '}',
  '")',
  '\n',
  '</',
  'parameter',
  '>',
  '\n',
  '</',
  'function',
  '>',
  '\n',
  '</',
  'code',
  '_env',
  '>',
  '',
];

export function createChunk(content: string, finish_reason = ''): ChatCompletionChunk {
  return { choices: [{ delta: { content }, finish_reason }] } as unknown as ChatCompletionChunk;
}
